package com.literaryfamily.literaryfamily.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class BookReturnOrderExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public BookReturnOrderExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdIsNull() {
            addCriterion("return_order_id is null");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdIsNotNull() {
            addCriterion("return_order_id is not null");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdEqualTo(String value) {
            addCriterion("return_order_id =", value, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdNotEqualTo(String value) {
            addCriterion("return_order_id <>", value, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdGreaterThan(String value) {
            addCriterion("return_order_id >", value, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdGreaterThanOrEqualTo(String value) {
            addCriterion("return_order_id >=", value, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdLessThan(String value) {
            addCriterion("return_order_id <", value, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdLessThanOrEqualTo(String value) {
            addCriterion("return_order_id <=", value, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdLike(String value) {
            addCriterion("return_order_id like", value, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdNotLike(String value) {
            addCriterion("return_order_id not like", value, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdIn(List<String> values) {
            addCriterion("return_order_id in", values, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdNotIn(List<String> values) {
            addCriterion("return_order_id not in", values, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdBetween(String value1, String value2) {
            addCriterion("return_order_id between", value1, value2, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnOrderIdNotBetween(String value1, String value2) {
            addCriterion("return_order_id not between", value1, value2, "returnOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdIsNull() {
            addCriterion("sale_order_id is null");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdIsNotNull() {
            addCriterion("sale_order_id is not null");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdEqualTo(String value) {
            addCriterion("sale_order_id =", value, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdNotEqualTo(String value) {
            addCriterion("sale_order_id <>", value, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdGreaterThan(String value) {
            addCriterion("sale_order_id >", value, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdGreaterThanOrEqualTo(String value) {
            addCriterion("sale_order_id >=", value, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdLessThan(String value) {
            addCriterion("sale_order_id <", value, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdLessThanOrEqualTo(String value) {
            addCriterion("sale_order_id <=", value, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdLike(String value) {
            addCriterion("sale_order_id like", value, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdNotLike(String value) {
            addCriterion("sale_order_id not like", value, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdIn(List<String> values) {
            addCriterion("sale_order_id in", values, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdNotIn(List<String> values) {
            addCriterion("sale_order_id not in", values, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdBetween(String value1, String value2) {
            addCriterion("sale_order_id between", value1, value2, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andSaleOrderIdNotBetween(String value1, String value2) {
            addCriterion("sale_order_id not between", value1, value2, "saleOrderId");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdIsNull() {
            addCriterion("return_user_id is null");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdIsNotNull() {
            addCriterion("return_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdEqualTo(Long value) {
            addCriterion("return_user_id =", value, "returnUserId");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdNotEqualTo(Long value) {
            addCriterion("return_user_id <>", value, "returnUserId");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdGreaterThan(Long value) {
            addCriterion("return_user_id >", value, "returnUserId");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("return_user_id >=", value, "returnUserId");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdLessThan(Long value) {
            addCriterion("return_user_id <", value, "returnUserId");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdLessThanOrEqualTo(Long value) {
            addCriterion("return_user_id <=", value, "returnUserId");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdIn(List<Long> values) {
            addCriterion("return_user_id in", values, "returnUserId");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdNotIn(List<Long> values) {
            addCriterion("return_user_id not in", values, "returnUserId");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdBetween(Long value1, Long value2) {
            addCriterion("return_user_id between", value1, value2, "returnUserId");
            return (Criteria) this;
        }

        public Criteria andReturnUserIdNotBetween(Long value1, Long value2) {
            addCriterion("return_user_id not between", value1, value2, "returnUserId");
            return (Criteria) this;
        }

        public Criteria andReturnReasonIsNull() {
            addCriterion("return_reason is null");
            return (Criteria) this;
        }

        public Criteria andReturnReasonIsNotNull() {
            addCriterion("return_reason is not null");
            return (Criteria) this;
        }

        public Criteria andReturnReasonEqualTo(String value) {
            addCriterion("return_reason =", value, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnReasonNotEqualTo(String value) {
            addCriterion("return_reason <>", value, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnReasonGreaterThan(String value) {
            addCriterion("return_reason >", value, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnReasonGreaterThanOrEqualTo(String value) {
            addCriterion("return_reason >=", value, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnReasonLessThan(String value) {
            addCriterion("return_reason <", value, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnReasonLessThanOrEqualTo(String value) {
            addCriterion("return_reason <=", value, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnReasonLike(String value) {
            addCriterion("return_reason like", value, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnReasonNotLike(String value) {
            addCriterion("return_reason not like", value, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnReasonIn(List<String> values) {
            addCriterion("return_reason in", values, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnReasonNotIn(List<String> values) {
            addCriterion("return_reason not in", values, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnReasonBetween(String value1, String value2) {
            addCriterion("return_reason between", value1, value2, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnReasonNotBetween(String value1, String value2) {
            addCriterion("return_reason not between", value1, value2, "returnReason");
            return (Criteria) this;
        }

        public Criteria andReturnImagesIsNull() {
            addCriterion("return_images is null");
            return (Criteria) this;
        }

        public Criteria andReturnImagesIsNotNull() {
            addCriterion("return_images is not null");
            return (Criteria) this;
        }

        public Criteria andReturnImagesEqualTo(String value) {
            addCriterion("return_images =", value, "returnImages");
            return (Criteria) this;
        }

        public Criteria andReturnImagesNotEqualTo(String value) {
            addCriterion("return_images <>", value, "returnImages");
            return (Criteria) this;
        }

        public Criteria andReturnImagesGreaterThan(String value) {
            addCriterion("return_images >", value, "returnImages");
            return (Criteria) this;
        }

        public Criteria andReturnImagesGreaterThanOrEqualTo(String value) {
            addCriterion("return_images >=", value, "returnImages");
            return (Criteria) this;
        }

        public Criteria andReturnImagesLessThan(String value) {
            addCriterion("return_images <", value, "returnImages");
            return (Criteria) this;
        }

        public Criteria andReturnImagesLessThanOrEqualTo(String value) {
            addCriterion("return_images <=", value, "returnImages");
            return (Criteria) this;
        }

        public Criteria andReturnImagesLike(String value) {
            addCriterion("return_images like", value, "returnImages");
            return (Criteria) this;
        }

        public Criteria andReturnImagesNotLike(String value) {
            addCriterion("return_images not like", value, "returnImages");
            return (Criteria) this;
        }

        public Criteria andReturnImagesIn(List<String> values) {
            addCriterion("return_images in", values, "returnImages");
            return (Criteria) this;
        }

        public Criteria andReturnImagesNotIn(List<String> values) {
            addCriterion("return_images not in", values, "returnImages");
            return (Criteria) this;
        }

        public Criteria andReturnImagesBetween(String value1, String value2) {
            addCriterion("return_images between", value1, value2, "returnImages");
            return (Criteria) this;
        }

        public Criteria andReturnImagesNotBetween(String value1, String value2) {
            addCriterion("return_images not between", value1, value2, "returnImages");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountIsNull() {
            addCriterion("requested_amount is null");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountIsNotNull() {
            addCriterion("requested_amount is not null");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountEqualTo(BigDecimal value) {
            addCriterion("requested_amount =", value, "requestedAmount");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountNotEqualTo(BigDecimal value) {
            addCriterion("requested_amount <>", value, "requestedAmount");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountGreaterThan(BigDecimal value) {
            addCriterion("requested_amount >", value, "requestedAmount");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("requested_amount >=", value, "requestedAmount");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountLessThan(BigDecimal value) {
            addCriterion("requested_amount <", value, "requestedAmount");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("requested_amount <=", value, "requestedAmount");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountIn(List<BigDecimal> values) {
            addCriterion("requested_amount in", values, "requestedAmount");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountNotIn(List<BigDecimal> values) {
            addCriterion("requested_amount not in", values, "requestedAmount");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("requested_amount between", value1, value2, "requestedAmount");
            return (Criteria) this;
        }

        public Criteria andRequestedAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("requested_amount not between", value1, value2, "requestedAmount");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementIsNull() {
            addCriterion("seller_agreement is null");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementIsNotNull() {
            addCriterion("seller_agreement is not null");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementEqualTo(Boolean value) {
            addCriterion("seller_agreement =", value, "sellerAgreement");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementNotEqualTo(Boolean value) {
            addCriterion("seller_agreement <>", value, "sellerAgreement");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementGreaterThan(Boolean value) {
            addCriterion("seller_agreement >", value, "sellerAgreement");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementGreaterThanOrEqualTo(Boolean value) {
            addCriterion("seller_agreement >=", value, "sellerAgreement");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementLessThan(Boolean value) {
            addCriterion("seller_agreement <", value, "sellerAgreement");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementLessThanOrEqualTo(Boolean value) {
            addCriterion("seller_agreement <=", value, "sellerAgreement");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementIn(List<Boolean> values) {
            addCriterion("seller_agreement in", values, "sellerAgreement");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementNotIn(List<Boolean> values) {
            addCriterion("seller_agreement not in", values, "sellerAgreement");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementBetween(Boolean value1, Boolean value2) {
            addCriterion("seller_agreement between", value1, value2, "sellerAgreement");
            return (Criteria) this;
        }

        public Criteria andSellerAgreementNotBetween(Boolean value1, Boolean value2) {
            addCriterion("seller_agreement not between", value1, value2, "sellerAgreement");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonIsNull() {
            addCriterion("seller_rejection_reason is null");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonIsNotNull() {
            addCriterion("seller_rejection_reason is not null");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonEqualTo(String value) {
            addCriterion("seller_rejection_reason =", value, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonNotEqualTo(String value) {
            addCriterion("seller_rejection_reason <>", value, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonGreaterThan(String value) {
            addCriterion("seller_rejection_reason >", value, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonGreaterThanOrEqualTo(String value) {
            addCriterion("seller_rejection_reason >=", value, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonLessThan(String value) {
            addCriterion("seller_rejection_reason <", value, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonLessThanOrEqualTo(String value) {
            addCriterion("seller_rejection_reason <=", value, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonLike(String value) {
            addCriterion("seller_rejection_reason like", value, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonNotLike(String value) {
            addCriterion("seller_rejection_reason not like", value, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonIn(List<String> values) {
            addCriterion("seller_rejection_reason in", values, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonNotIn(List<String> values) {
            addCriterion("seller_rejection_reason not in", values, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonBetween(String value1, String value2) {
            addCriterion("seller_rejection_reason between", value1, value2, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionReasonNotBetween(String value1, String value2) {
            addCriterion("seller_rejection_reason not between", value1, value2, "sellerRejectionReason");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesIsNull() {
            addCriterion("seller_rejection_images is null");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesIsNotNull() {
            addCriterion("seller_rejection_images is not null");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesEqualTo(String value) {
            addCriterion("seller_rejection_images =", value, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesNotEqualTo(String value) {
            addCriterion("seller_rejection_images <>", value, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesGreaterThan(String value) {
            addCriterion("seller_rejection_images >", value, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesGreaterThanOrEqualTo(String value) {
            addCriterion("seller_rejection_images >=", value, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesLessThan(String value) {
            addCriterion("seller_rejection_images <", value, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesLessThanOrEqualTo(String value) {
            addCriterion("seller_rejection_images <=", value, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesLike(String value) {
            addCriterion("seller_rejection_images like", value, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesNotLike(String value) {
            addCriterion("seller_rejection_images not like", value, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesIn(List<String> values) {
            addCriterion("seller_rejection_images in", values, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesNotIn(List<String> values) {
            addCriterion("seller_rejection_images not in", values, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesBetween(String value1, String value2) {
            addCriterion("seller_rejection_images between", value1, value2, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andSellerRejectionImagesNotBetween(String value1, String value2) {
            addCriterion("seller_rejection_images not between", value1, value2, "sellerRejectionImages");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionIsNull() {
            addCriterion("platform_intervention is null");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionIsNotNull() {
            addCriterion("platform_intervention is not null");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionEqualTo(Boolean value) {
            addCriterion("platform_intervention =", value, "platformIntervention");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionNotEqualTo(Boolean value) {
            addCriterion("platform_intervention <>", value, "platformIntervention");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionGreaterThan(Boolean value) {
            addCriterion("platform_intervention >", value, "platformIntervention");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionGreaterThanOrEqualTo(Boolean value) {
            addCriterion("platform_intervention >=", value, "platformIntervention");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionLessThan(Boolean value) {
            addCriterion("platform_intervention <", value, "platformIntervention");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionLessThanOrEqualTo(Boolean value) {
            addCriterion("platform_intervention <=", value, "platformIntervention");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionIn(List<Boolean> values) {
            addCriterion("platform_intervention in", values, "platformIntervention");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionNotIn(List<Boolean> values) {
            addCriterion("platform_intervention not in", values, "platformIntervention");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionBetween(Boolean value1, Boolean value2) {
            addCriterion("platform_intervention between", value1, value2, "platformIntervention");
            return (Criteria) this;
        }

        public Criteria andPlatformInterventionNotBetween(Boolean value1, Boolean value2) {
            addCriterion("platform_intervention not between", value1, value2, "platformIntervention");
            return (Criteria) this;
        }

        public Criteria andDoorPickupIsNull() {
            addCriterion("door_pickup is null");
            return (Criteria) this;
        }

        public Criteria andDoorPickupIsNotNull() {
            addCriterion("door_pickup is not null");
            return (Criteria) this;
        }

        public Criteria andDoorPickupEqualTo(Boolean value) {
            addCriterion("door_pickup =", value, "doorPickup");
            return (Criteria) this;
        }

        public Criteria andDoorPickupNotEqualTo(Boolean value) {
            addCriterion("door_pickup <>", value, "doorPickup");
            return (Criteria) this;
        }

        public Criteria andDoorPickupGreaterThan(Boolean value) {
            addCriterion("door_pickup >", value, "doorPickup");
            return (Criteria) this;
        }

        public Criteria andDoorPickupGreaterThanOrEqualTo(Boolean value) {
            addCriterion("door_pickup >=", value, "doorPickup");
            return (Criteria) this;
        }

        public Criteria andDoorPickupLessThan(Boolean value) {
            addCriterion("door_pickup <", value, "doorPickup");
            return (Criteria) this;
        }

        public Criteria andDoorPickupLessThanOrEqualTo(Boolean value) {
            addCriterion("door_pickup <=", value, "doorPickup");
            return (Criteria) this;
        }

        public Criteria andDoorPickupIn(List<Boolean> values) {
            addCriterion("door_pickup in", values, "doorPickup");
            return (Criteria) this;
        }

        public Criteria andDoorPickupNotIn(List<Boolean> values) {
            addCriterion("door_pickup not in", values, "doorPickup");
            return (Criteria) this;
        }

        public Criteria andDoorPickupBetween(Boolean value1, Boolean value2) {
            addCriterion("door_pickup between", value1, value2, "doorPickup");
            return (Criteria) this;
        }

        public Criteria andDoorPickupNotBetween(Boolean value1, Boolean value2) {
            addCriterion("door_pickup not between", value1, value2, "doorPickup");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdIsNull() {
            addCriterion("pickup_address_id is null");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdIsNotNull() {
            addCriterion("pickup_address_id is not null");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdEqualTo(Long value) {
            addCriterion("pickup_address_id =", value, "pickupAddressId");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdNotEqualTo(Long value) {
            addCriterion("pickup_address_id <>", value, "pickupAddressId");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdGreaterThan(Long value) {
            addCriterion("pickup_address_id >", value, "pickupAddressId");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdGreaterThanOrEqualTo(Long value) {
            addCriterion("pickup_address_id >=", value, "pickupAddressId");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdLessThan(Long value) {
            addCriterion("pickup_address_id <", value, "pickupAddressId");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdLessThanOrEqualTo(Long value) {
            addCriterion("pickup_address_id <=", value, "pickupAddressId");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdIn(List<Long> values) {
            addCriterion("pickup_address_id in", values, "pickupAddressId");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdNotIn(List<Long> values) {
            addCriterion("pickup_address_id not in", values, "pickupAddressId");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdBetween(Long value1, Long value2) {
            addCriterion("pickup_address_id between", value1, value2, "pickupAddressId");
            return (Criteria) this;
        }

        public Criteria andPickupAddressIdNotBetween(Long value1, Long value2) {
            addCriterion("pickup_address_id not between", value1, value2, "pickupAddressId");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountIsNull() {
            addCriterion("actual_refund_amount is null");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountIsNotNull() {
            addCriterion("actual_refund_amount is not null");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountEqualTo(BigDecimal value) {
            addCriterion("actual_refund_amount =", value, "actualRefundAmount");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountNotEqualTo(BigDecimal value) {
            addCriterion("actual_refund_amount <>", value, "actualRefundAmount");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountGreaterThan(BigDecimal value) {
            addCriterion("actual_refund_amount >", value, "actualRefundAmount");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("actual_refund_amount >=", value, "actualRefundAmount");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountLessThan(BigDecimal value) {
            addCriterion("actual_refund_amount <", value, "actualRefundAmount");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("actual_refund_amount <=", value, "actualRefundAmount");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountIn(List<BigDecimal> values) {
            addCriterion("actual_refund_amount in", values, "actualRefundAmount");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountNotIn(List<BigDecimal> values) {
            addCriterion("actual_refund_amount not in", values, "actualRefundAmount");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("actual_refund_amount between", value1, value2, "actualRefundAmount");
            return (Criteria) this;
        }

        public Criteria andActualRefundAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("actual_refund_amount not between", value1, value2, "actualRefundAmount");
            return (Criteria) this;
        }

        public Criteria andShippingCostIsNull() {
            addCriterion("shipping_cost is null");
            return (Criteria) this;
        }

        public Criteria andShippingCostIsNotNull() {
            addCriterion("shipping_cost is not null");
            return (Criteria) this;
        }

        public Criteria andShippingCostEqualTo(BigDecimal value) {
            addCriterion("shipping_cost =", value, "shippingCost");
            return (Criteria) this;
        }

        public Criteria andShippingCostNotEqualTo(BigDecimal value) {
            addCriterion("shipping_cost <>", value, "shippingCost");
            return (Criteria) this;
        }

        public Criteria andShippingCostGreaterThan(BigDecimal value) {
            addCriterion("shipping_cost >", value, "shippingCost");
            return (Criteria) this;
        }

        public Criteria andShippingCostGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("shipping_cost >=", value, "shippingCost");
            return (Criteria) this;
        }

        public Criteria andShippingCostLessThan(BigDecimal value) {
            addCriterion("shipping_cost <", value, "shippingCost");
            return (Criteria) this;
        }

        public Criteria andShippingCostLessThanOrEqualTo(BigDecimal value) {
            addCriterion("shipping_cost <=", value, "shippingCost");
            return (Criteria) this;
        }

        public Criteria andShippingCostIn(List<BigDecimal> values) {
            addCriterion("shipping_cost in", values, "shippingCost");
            return (Criteria) this;
        }

        public Criteria andShippingCostNotIn(List<BigDecimal> values) {
            addCriterion("shipping_cost not in", values, "shippingCost");
            return (Criteria) this;
        }

        public Criteria andShippingCostBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("shipping_cost between", value1, value2, "shippingCost");
            return (Criteria) this;
        }

        public Criteria andShippingCostNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("shipping_cost not between", value1, value2, "shippingCost");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeIsNull() {
            addCriterion("expected_return_time is null");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeIsNotNull() {
            addCriterion("expected_return_time is not null");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeEqualTo(Date value) {
            addCriterion("expected_return_time =", value, "expectedReturnTime");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeNotEqualTo(Date value) {
            addCriterion("expected_return_time <>", value, "expectedReturnTime");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeGreaterThan(Date value) {
            addCriterion("expected_return_time >", value, "expectedReturnTime");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("expected_return_time >=", value, "expectedReturnTime");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeLessThan(Date value) {
            addCriterion("expected_return_time <", value, "expectedReturnTime");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeLessThanOrEqualTo(Date value) {
            addCriterion("expected_return_time <=", value, "expectedReturnTime");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeIn(List<Date> values) {
            addCriterion("expected_return_time in", values, "expectedReturnTime");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeNotIn(List<Date> values) {
            addCriterion("expected_return_time not in", values, "expectedReturnTime");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeBetween(Date value1, Date value2) {
            addCriterion("expected_return_time between", value1, value2, "expectedReturnTime");
            return (Criteria) this;
        }

        public Criteria andExpectedReturnTimeNotBetween(Date value1, Date value2) {
            addCriterion("expected_return_time not between", value1, value2, "expectedReturnTime");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeIsNull() {
            addCriterion("actual_return_time is null");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeIsNotNull() {
            addCriterion("actual_return_time is not null");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeEqualTo(Date value) {
            addCriterion("actual_return_time =", value, "actualReturnTime");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeNotEqualTo(Date value) {
            addCriterion("actual_return_time <>", value, "actualReturnTime");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeGreaterThan(Date value) {
            addCriterion("actual_return_time >", value, "actualReturnTime");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("actual_return_time >=", value, "actualReturnTime");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeLessThan(Date value) {
            addCriterion("actual_return_time <", value, "actualReturnTime");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeLessThanOrEqualTo(Date value) {
            addCriterion("actual_return_time <=", value, "actualReturnTime");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeIn(List<Date> values) {
            addCriterion("actual_return_time in", values, "actualReturnTime");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeNotIn(List<Date> values) {
            addCriterion("actual_return_time not in", values, "actualReturnTime");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeBetween(Date value1, Date value2) {
            addCriterion("actual_return_time between", value1, value2, "actualReturnTime");
            return (Criteria) this;
        }

        public Criteria andActualReturnTimeNotBetween(Date value1, Date value2) {
            addCriterion("actual_return_time not between", value1, value2, "actualReturnTime");
            return (Criteria) this;
        }

        public Criteria andReturnStatusIsNull() {
            addCriterion("return_status is null");
            return (Criteria) this;
        }

        public Criteria andReturnStatusIsNotNull() {
            addCriterion("return_status is not null");
            return (Criteria) this;
        }

        public Criteria andReturnStatusEqualTo(Integer value) {
            addCriterion("return_status =", value, "returnStatus");
            return (Criteria) this;
        }

        public Criteria andReturnStatusNotEqualTo(Integer value) {
            addCriterion("return_status <>", value, "returnStatus");
            return (Criteria) this;
        }

        public Criteria andReturnStatusGreaterThan(Integer value) {
            addCriterion("return_status >", value, "returnStatus");
            return (Criteria) this;
        }

        public Criteria andReturnStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("return_status >=", value, "returnStatus");
            return (Criteria) this;
        }

        public Criteria andReturnStatusLessThan(Integer value) {
            addCriterion("return_status <", value, "returnStatus");
            return (Criteria) this;
        }

        public Criteria andReturnStatusLessThanOrEqualTo(Integer value) {
            addCriterion("return_status <=", value, "returnStatus");
            return (Criteria) this;
        }

        public Criteria andReturnStatusIn(List<Integer> values) {
            addCriterion("return_status in", values, "returnStatus");
            return (Criteria) this;
        }

        public Criteria andReturnStatusNotIn(List<Integer> values) {
            addCriterion("return_status not in", values, "returnStatus");
            return (Criteria) this;
        }

        public Criteria andReturnStatusBetween(Integer value1, Integer value2) {
            addCriterion("return_status between", value1, value2, "returnStatus");
            return (Criteria) this;
        }

        public Criteria andReturnStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("return_status not between", value1, value2, "returnStatus");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionIsNull() {
            addCriterion("additional_description is null");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionIsNotNull() {
            addCriterion("additional_description is not null");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionEqualTo(String value) {
            addCriterion("additional_description =", value, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionNotEqualTo(String value) {
            addCriterion("additional_description <>", value, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionGreaterThan(String value) {
            addCriterion("additional_description >", value, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("additional_description >=", value, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionLessThan(String value) {
            addCriterion("additional_description <", value, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionLessThanOrEqualTo(String value) {
            addCriterion("additional_description <=", value, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionLike(String value) {
            addCriterion("additional_description like", value, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionNotLike(String value) {
            addCriterion("additional_description not like", value, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionIn(List<String> values) {
            addCriterion("additional_description in", values, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionNotIn(List<String> values) {
            addCriterion("additional_description not in", values, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionBetween(String value1, String value2) {
            addCriterion("additional_description between", value1, value2, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andAdditionalDescriptionNotBetween(String value1, String value2) {
            addCriterion("additional_description not between", value1, value2, "additionalDescription");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}